package cmpe273.classproject.server.service;

import java.rmi.RemoteException;

import cmpe273.classproject.server.dto.MovieResponse;
import cmpe273.classproject.server.dto.PersonResponse;
import cmpe273.classproject.server.dto.TransactionResponse;
import cmpe273.classproject.server.model.Movie;
import cmpe273.classproject.server.model.Person;
import cmpe273.classproject.server.model.RentalTransaction;

public interface MovieService {
	
	public int createPerson(Person customer);
	
	public PersonResponse deletePerson(long id);
	
	public MovieResponse createMovie(Movie movie);
	
	public MovieResponse deleteMovie(Movie movie);
	
	public MovieResponse issueMovie(Movie movie, Person person);
	
	public MovieResponse submitMovie(RentalTransaction rt);
	
	public Person[] getAllPremiumMembers();
	
	public MovieResponse getAllMoviesByPerson(int memberID);
	
	public Person[] getAllSimpleCustomers();
	
	public MovieResponse getAllMovies();
	
	public PersonResponse getAllPersons();
	
	public PersonResponse updatePerson(Person person);
	
	public MovieResponse updateMovie(Movie movie);
	
	public PersonResponse findPerson(String firstName, String lastName, String address, String city, String state, String zipcode, String emailaddress, String phoneno);
	
	public MovieResponse findMovie(Movie movie);
	
	public PersonResponse getAllPersonsByMovie(Movie movie);
	
	public TransactionResponse getHistory(int memberId);

	public MovieResponse getAllOutstandingMoviesByPerson(int memberID);

	public MovieResponse getAllMoviesInCategory(String category);
	
	public boolean login(String username, String password);

	PersonResponse getPerson(int personId);
}
